// table中的js
// 页面加载完成,动态给下拉列表框赋值,简单实用
$(function () {
    $.ajax({
        url:"/springbootLesson/roleList",
        type:"post",
        dataType:"json",
        data:"",
        success:function (serverData) {
            //填充Select下拉列表框
            $("#mySelect").append("<option value=\"0\">全部</option>");
            //循环输出
            // $.each(serverData.roleList, function (key, val) {
            //     var option1 = $("<option>").val(val.id).text(val.roleName);
            //     //通过LayUI.jQuery添加列表项
            //     $("#mySelect").prepend(option1);
            // });
            $("#mySelect").append("<option value=\"1\">全部2</option>");
            $("#mySelect").append("<option value=\"2\">全部3</option>");
        }

    });
    // $.post("/springbootLesson/roleList","",function (serverData) {
    //    //填充SQK
    //    $("#mySelect").append("<option value=\"0\">全部</option>");
    //    //循环输出
    //    $.each(serverData.roleList, function (key, val) {
    //        var option1 = $("<option>").val(val.id).text(val.roleName);
    //        //通过LayUI.jQuery添加列表项
    //        $("#mySelect").append(option1);
    //     });
    // },"json");
});
//layui,主js，请求后台数据，渲染table页面
layui.use(['form','layer','table','jquery','laydate','upload'], function(){
    var form = layui.form
        ,layer = layui.layer
        ,laydate=layui.laydate
        ,$=layui.jquery,
        table= layui.table,
        upload=layui.upload;
        //用于显示指定的日期格式
        laydate.render({
            type: 'datetime',
            elem: '#myTime' //指定元素
        });
        laydate.render({
            elem: '#date' //指定元素
        });
    //获取form表单
    //监听工具条
    table.on('tool(demo)', function(obj){
        var data = obj.data;
        if(obj.event === 'detail'){
            // layer.msg('ID：'+ data.id + ' 的查看操作');
            var id=data.id;
            window.location.href="/springbootLesson/getInvId?invId="+id;
        } else if(obj.event === 'del'){
            layer.confirm('真的删除行么', function(index){
                //请求后端数据，获取主键Id的值
                var jsonData={mainKey:data.id};
                $.post("delBook",jsonData,function (serverData) {
                    layer.msg("删除成功",{icon:6});
                    obj.del();
                    layer.close(index);
                },"json");
            });
        } else if(obj.event === 'edit'){
            updateData(layer,data);
        }else if(obj.event==='sb'){
            layer.msg("删除成功",{icon:5});
        }
    });
    //查询获取文本框和下拉列表框中的值
    $("#btn-query").bind("click",function () {
            var demoReload = $('#demoReload').val();
            //获取下拉列表框中的option的值
            var mySelect = $("#mySelect option:selected").val();
            //执行重载
            table.reload('tableList', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                ,where: {
                        //客户端给服务器传值
                        name: demoReload,
                        categoryId:mySelect
                }
            }, 'data');
    });
    $("#addReply").on("click",function(){

    })
    $('#btn-add').on('click', function () {
        //获取选中的下拉列表框的值
        var mySelectId = $("#mySelect option:selected").val();
        layer.open({
            type: 2,
            title: '增加电子图书',
            //框体大小
            area: ['600px', '500px'],
            shadeClose: false, //点击遮罩关闭
            //页面地址，携带参数过去
            content:"loginAdd?mark="+mySelectId,
            // content: 'loginAdd',
        });
    });
    //-------保存方法的区域--------------------------------
    //新增提交数据的方法
    form.on('submit(save)',function (message) {
        //需要对js进行验证
        form.verify({
            userCode:[
                /^[a-zA-Z0-9]{6,16}$/,
                "用户编号不合法！"
            ],
            // userPwd : [
            //     /^[a-zA-Z0-9]{6,16}$/,
            //     "密码不合法！"
            // ],
            // phone:[
            //     /^1[0-9]{10}$/,
            //     "电话不合法！"
            // ]
        });
        var jsonData = JSON.stringify(message.field);
        $.post("/springbootLesson/doAddUser",message.field,function(serverData){
            layer.closeAll('loading'+serverData.success);
            layer.msg("保存成功",{icon:6});
            //刷新页面
            setTimeout(function(){
                window.parent.location.reload();//修改成功后刷新父界面
            }, 1000);
        },"json");
        return false;
    })
    //----------------------------------以下是修改方法-------------------------------------
    function updateData(layer,data){
        layer.open({
            //layer提供了5种层类型。
            // 可传入的值有：0（信息框，默认）
            // 1（页面层）
            // 2（iframe层）
            // 3（加载层）
            // 4（tips层）
            type: 1,
            title: "图书信息修改页面",
            area: ['500px', '500px'],
            content: $("#openUpdatePage")//引用的弹出层的页面层的方式加载修改界面表单
        });
        //动态向表传递赋值可以参看文章进行修改界面的更新前数据的显示，当然也是异步请求的要数据的修改数据的获取
        uploadFormValue(data);
    }
    //监听弹出框表单提交，massage是修改界面的表单数据'submit(demo11),是修改按钮的绑定
    function uploadFormValue (data) {
        form.val("filterColumn",{
            "id":data.id,
            "userCode":data.userCode,
            "userName":data.userName,
            "birthday":data.birthday,
        });
        form.on('submit(subUpdate)',function (message) {
            var jsonData = JSON.stringify(message.field);
            $.post("/springbootLesson/doAddUser",message.field,function(serverData){
                layer.closeAll('loading'+serverData.success);
                layer.msg("保存成功",{icon:6});
                //刷新页面
                setTimeout(function(){
                    window.parent.location.reload();//修改成功后刷新父界面
                }, 1000);
            },"json");
            // alert(jsonData);
            // $.ajax({
            //     url:'/SSMLayuiProject/updateUserDo',
            //     type:'POST',
            //     dataType:'json',
            //     data:jsonData,
            //     contentType : "application/json;charset=UTF-8",
            //     success:function (serverData) {
            //         alert("=========="+jsonData);
            //         layer.closeAll('loading');
            //         layer.load(2);
            //         layer.msg("添加成功", {icon: 6});
            //         setTimeout(function(){
            //             window.parent.location.reload();//修改成功后刷新父界面
            //         }, 1000);
            //     }
            // });
            // $.post("/SSMLayuiProject/addUserDo",jsonData,function(serverData){
            //
            // },"json");
            return false;
        })
    }
    //------------------------------文件上传区域----------------
    var uploadInst = upload.render({
        elem: '#upload_btn'
        , url: '/springbootLesson/uploadFile'
        ,accept: 'file',
        before: function (obj) {
            //预读本地文件示例，不支持ie8
            obj.preview(function (index, file, result) {
                $('#demo1').attr('src', result); //图片链接（base64）
            });
        }
        , done: function (res) {
            //如果上传失败
            if (res.code === 0){
                $("#idpicpath").val(res.fileName);
                return layer.msg('文件上传成功!');
            }
            if (res.code === 2) {
                return layer.msg('不支持该上传类型');
            }
            if (res.code === 3) {
                return layer.msg('文件为空');
            }else{
                return layer.msg('文件上传异常');
            }
            //上传成功
        }
        , error: function () {
            //演示失败状态，并实现重传
            var demoText = $('#demoText');
            demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
            demoText.find('.demo-reload').on('click', function () {
                uploadInst.upload();
            });
        }
    });
});
